FIG. 1 depicts a schematic diagram of a telecommunications network in the prior art, such as the Internet, which transports data packets from one node to another. When each node in the network can be both a source of packets and a destination, there are n(n−1) network paths through the network, wherein n is positive integer that represents the number of nodes in the network. For the purposes of this specification, a “network path” is defined as the physical route between a pair of source and destination nodes in a network.
Source and destination nodes, such as packet-based telephones (Internet Protocol-based or otherwise), are often members of subnetworks. For the purposes of this specification, term “subnetwork” is defined as a separately identifiable part of a larger network that typically represents a certain limited number (i.e., one or more) of source nodes or destination nodes, or both, such as in a building or geographic area, or in an individual local area network.
The service provided by a network path is characterized by its “quality of service,” which, for the purposes of this specification, is defined as a function of the bandwidth, error rate, and latency from one node to another. For the purposes of this specification, the “bandwidth” from one node to another is defined as an indication of the amount of information per unit time that can be transported from the first node to the second. Typically, bandwidth is measured in bits or bytes per second. For the purposes of this specification, the “error rate” from one node to another is defined as an indication of the amount of information that is corrupted as it travels from the first node to the second. Typically, error rate is measured in bit errors per number of bits transmitted or in packets lost per number of packets transmitted. For the purposes of this specification, the “latency” from one node to another is defined as an indication of how much time is required to transport information from one node to another. Typically, latency is measured in seconds.
Some applications—for example, e-mail—are generally more tolerant of the quality of service provided by the network path, but some other applications—particularly telephony, and streaming audio and video—are generally very sensitive. While some network paths provide quality-of-service guarantees, many others, including most of those through the Internet, do not. The result is that the provisioning of applications like telephony through the Internet can require transmitting some packets of a given packet stream across one network path and transmitting other packets of the same stream (or a different stream) across another network path, in order to maintain the required or preferred quality of service level. This requires evaluating the various, possible network paths in a timely and efficient manner.
The need exists, therefore, for an invention that improves the evaluating of a network path's quality of service.